// 复制文件（同步）

const fs = require('fs');
let process = require('process')

let data = fs.readFileSync('04.txt')
fs.writeFileSync('04-copy.txt', data)
console.log(process.memoryUsage())  // 内存使用情况  21798912

// 复制文件（异步）
fs.writeFile('04-copy2.txt', data, (err) => {
    if (err) {
        console.log('异步写入失败')
    } else {
        console.log('异步写入成功')
    }
})

// 复制文件（流式）
// 性能最佳（理想状态，只需要64KB的内存空间）
const rs2 = fs.createReadStream('04.txt')  //创建读取流对象
const ws2 = fs.createWriteStream('04-copy3.txt')  //创建写入流对象
rs2.on('data', (chunk) => {
    ws2.write(chunk)
})
rs2.on('end', () => {
    console.log(process.memoryUsage())  //22065152
})